package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.RewardsPunishment;

/**
 * 奖惩管理Mapper接口
 *
 * @author ruoyi
 * @date 2023-04-27
 */
public interface RewardsPunishmentMapper
{
    /**
     * 查询奖惩管理
     *
     * @param rpId 奖惩管理主键
     * @return 奖惩管理
     */
    public RewardsPunishment selectRewardsPunishmentByRpId(Long rpId);

    /**
     * 查询奖惩管理列表
     *
     * @param rewardsPunishment 奖惩管理
     * @return 奖惩管理集合
     */
    public List<RewardsPunishment> selectRewardsPunishmentList(RewardsPunishment rewardsPunishment);

    /**
     * 新增奖惩管理
     *
     * @param rewardsPunishment 奖惩管理
     * @return 结果
     */
    public int insertRewardsPunishment(RewardsPunishment rewardsPunishment);

    /**
     * 修改奖惩管理
     *
     * @param rewardsPunishment 奖惩管理
     * @return 结果
     */
    public int updateRewardsPunishment(RewardsPunishment rewardsPunishment);

    /**
     * 删除奖惩管理
     *
     * @param rpId 奖惩管理主键
     * @return 结果
     */
    public int deleteRewardsPunishmentByRpId(Long rpId);

    /**
     * 批量删除奖惩管理
     *
     * @param rpIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRewardsPunishmentByRpIds(String[] rpIds);

    /**
     * 清除员工的奖惩记录
     * @return 结果
     */
    public int clearRpInfo();

    /**
     * 记一次迟到
     * @param employeeId 员工编号
     * @return 结果
     */
    public int latePlus(long employeeId);

    /**
     * 记全勤
     * @param employeeId 员工编号
     * @return 结果
     */
    public int setAttendance(long employeeId);

    /**
     * 记所有人全勤
     * @return 结果
     */
    public int setAttendanceAll();

    /**
     * 取消全勤
     * @param employeeId 员工编号
     * @return 结果
     */
    public int cancelAttendance(long employeeId);

    public RewardsPunishment selectRpByEmployeeId(Long employeeId);
}
